#ifndef BSP_H
#define BSP_H

// ----------------IO口定义
// 外部看门狗
#define GPIO_WTDCLR_PORT			(GPIOX)
#define GPIO_WTDCLR_PIN				(GPIO_PIN_X)
#define GPIO_WTDCLR_CLR				{GPIO_WTDCLR_PORT->scr = GPIO_WTDCLR_PIN;\
										__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();\
										GPIO_WTDCLR_PORT->clr = GPIO_WTDCLR_PIN;}	

// PLC引脚控制
#define GPIO_PLC_SET_PORT			//(GPIOB)
#define GPIO_PLC_SET_PIN			//(GPIO_PIN_9)
#define GPIO_PLC_SET_OFF			//((GPIO_PLC_SET_PORT->clr) = GPIO_PLC_SET_PIN)
#define GPIO_PLC_SET_ON			    //((GPIO_PLC_SET_PORT->scr) = GPIO_PLC_SET_PIN)

#define GPIO_PLC_RST_PORT			(GPIOE)
#define GPIO_PLC_RST_PIN			(GPIO_PIN_1)
#define GPIO_PLC_RST_ON				((GPIO_PLC_RST_PORT->clr) = GPIO_PLC_RST_PIN)
#define GPIO_PLC_RST_OFF			((GPIO_PLC_RST_PORT->scr) = GPIO_PLC_RST_PIN)		


// PLC 12V电源控制(OFF代表关闭输出，ON代表输出12V)
#define	GPIO_PLCPOWER_PORT			(GPIOB)
#define	GPIO_PLCPOWER_PIN			(GPIO_Pin_9)
#define GPIO_PLCPOWER_OFF			((GPIO_PLCPOWER_PORT->clr) = GPIO_PLCPOWER_PIN)
#define GPIO_PLCPOWER_ON			((GPIO_PLCPOWER_PORT->scr) = GPIO_PLCPOWER_PIN)


//**************************************************************

u32 TickerStart(void);

u32 TickerStart_RtnNonZero(void);

u8 TickerOut(u32 Ticker, u32 cnt);


#endif
